
Nombre:
Directory Snoop
Versión:
3.11
Editor:
Briggs Software
Víctima:
DIRSNOOP.EXE
Herramientas:
GetTyp
Hacker’s View
W32Dasm
Cerebro
Cracker:
LW2000
Tutorial:
número 54
URL:
http://www.briggssoft.com
Renuncia: Este tutorial tiene una finalidad únicamente
educativa. No asumo ninguna responsabilidad por el mal uso de éste material.
1.
Bien, ponemos la fecha del sistema al
siguiente mes para que Directory Snooper expire.
2.
Arrancamos Dir Snoop. ¡Boooom! Anotamos
el texto del mensaje.
3.
Ahora ejecutamos Get Type Windows sobre
‘DIRSNOOP.EXE’. ¡Vaya, vaya! ¡Empaquetado con Shrinker v3.3!
4.
Cargamos nuestra herramienta favorita,
ProcDump, y desempaquetamos éste engendro (creo que sabrá cómo hacer esto,
si no es así, lea mis anteriores tutoriales).
5.
Después cargamos el DirSnoop desempaquetado
en W32Dasm y hacemos un ‘dead list’. Vamos a nuestra cadena:
* Referenced by a (U)nconditional or
(C)onditional Jump at Address:
|:00494689(U) >Llegamos aquí
|
:00494698 6A00 push 00000000
* Possible StringData Ref from Code Obj ->"You have used Directory Snoop"
|
:0049469A 6864484900 push 00494864
:0049469F 8D55E8 lea edx, dword ptr [ebp-18]
:004946A2 8BC6 mov eax, esi
:004946A4 E81342F7FF call 004088BC
:004946A9 FF75E8 push [ebp-18]
6.
Así que hemos llegado desde ‘00494689’;
bien, vamos allá y echemos un vistazo:
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:00494638(C), :0049463E(C)
|
:00494663 E85453F7FF call 004099BC
:00494668 E8D3E3F6FF call 00402A40
:0049466D 8BF0 mov esi, eax
:0049466F 83EE1E sub esi, 0000001E
:00494672 2B3524904900 sub esi, dword ptr [00499024]
:00494678 85F6 test esi, esi
:0049467A 7E64 jle 004946E0 >Salta: todo correcto
:0049467C 83FE01 cmp esi, 00000001
:0049467F 750A jne 0049468B >Salto ‘Bad Boy’
:00494681 8D45FC lea eax, dword ptr [ebp-04]
:00494684 E827F5F6FF call 00403BB0
:00494689 EB0D jmp 00494698 >Salto ‘Bad Boy’
7.
En la posición ‘0049467A’ hay un ‘JLE’
que salta a ‘004946E0’. Esta es la madre del cordero, así que ¿qué tenemos
que hacer? ¡Saltar siempre a ésa posición! ¿Coge la idea o no la coge?
8.
¡Suena bien! ¡Vamos a probarlo! Anotamos
el offset de la posición ‘0049467A’ y nos vamos a HIEW.
9.
Buscamos el offset que hemos anotado
y activamos el modo DeCode y pulsamos F3 para editar; cambiamos ‘7E64’ a ‘EB64’
(es decir, cambiamos el ‘JLE’ por ‘JMP’). Guardamos nuestro trabajo y lo probamos.
10.
¡Estupendo! ¡¡¡Funciona!!! Ahora vamos a hacerle un ‘lifting’ al
programa.
11.
Buscamos “Printed with Unregistered Directory Snoop” que en hexadecimal
es:
2A2A205072696E746564207769746820556E7265676973
7465726564204469726563746F727920536E6F6F70202A
y lo
sustituimos con
2020202020202020202020202020202020202020202020
2020202020202020202020202020202020202020202020
Con
lo que el texto de la pantalla NAG desaparece para siempre.
12.
Buscamos el texo “[Unregistered Shareware]” que en hexadecimal es:
5B556E72656769737465726564205368617265776172655D
y lo
sustituimos con
437261636B6564206279204C5732303030205B4369415D20
13.
Buscamos el texo “Unregistered Shareware” que en hexadecimal es:
556E7265676973746572656420536861726577617265
y lo
sustituimos con
4C5732303030205B4369415D20202020202020202020
Si no le gusta mi ‘lifting’ puede introducir su propio
texto pero, recuerde, ¡debe tener la mima longitud!
¡Enhorabuena! ¡Ya es usted un usuario registrado!
¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme
un email a LW2000@gmx.net.
o vaya a http://www.LW2000.cjb.net
Gracia a tKC por sus tutoriales. Empecé leyendo su
primer tutorial y todavía sigo leyéndolos.
Traducción de: MeGaBiTe